home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-01-01 | 3.5 KB | 176 lines | [TEXT/PATR] |
- % Sample Grammar 3
- %
- % From the book "An Introduction to Unification-Based
- % Approaches to Grammar" by Stuart Shieber (1986).
- %
- % Simplified by using the PATR Laboratory Lists.
-
- % TEST AS FOLLOWS:
- %
- % PARSING
- %
- % String: knights have stormed cornwall
- % String: uther persuades knights to storm cornwall
- % String: * knights sleeps
- %
- % GENERATION
- %
- % Start Symbol : s
- % Max Tree Depth: 6
- % Mode: Random
-
-
- % Rules
-
- % Sentence formation
- s --> np, vp #
- s:head = vp:head,
- s:head:form = finite,
- vp:subcat = [np].
-
- % Trivial verb phrase
- vp --> v #
- vp:head = v:head,
- vp:subcat = v:subcat.
-
- % Complements
- vp1 --> vp2, X #
- vp1:head = vp2:head,
- vp2:subcat = [X|Rest],
- vp1:subcat = Rest.
-
-
- % Lexikon
-
- word "uther" #
- :cat = np,
- :head:agreement:gender = masculine,
- :head:agreement:person = third,
- :head:agreement:number = singular,
- :head:trans = uther.
-
- word "cornwall" #
- :cat = np,
- :head:agreement:gender = masculine,
- :head:agreement:person = third,
- :head:agreement:number = singular,
- :head:trans = cornwall.
-
- word "knights" #
- :cat = np,
- :head:agreement:gender = masculine,
- :head:agreement:person = third,
- :head:agreement:number = plural,
- :head:trans = knights.
-
-
- word "sleeps" #
- :cat = v,
- :head:form = finite,
- :subcat = [Subj],
- Subj:cat = np,
- Subj:head:agreement:person = third,
- Subj:head:agreement:number = singular,
- :head:trans:pred = sleep,
- :head:trans:arg1 = Subj:head:trans.
-
- word "sleep" #
- :cat = v,
- :head:form = finite,
- :subcat = [Subj],
- Subj:cat = np,
- Subj:head:agreement:number = plural,
- :head:trans:pred = sleep,
- :head:trans:arg1 = Subj:head:trans.
-
- word "sleep" #
- :cat = v,
- :head:form = nonfinite,
- :subcat = [Subj],
- Subj:cat = np,
- :head:trans:pred = sleep,
- :head:trans:arg1 = Subj:head:trans.
-
- word "storms" #
- :cat = v,
- :head:form = finite,
- :subcat = [Obj,Subj],
- Subj:cat = np,
- Subj:head:agreement:person = third,
- Subj:head:agreement:number = singular,
- Obj:cat = np,
- :head:trans:pred = storm,
- :head:trans:arg1 = Subj:head:trans,
- :head:trans:arg2 = Obj:head:trans.
-
- word "stormed" #
- :cat = v,
- :head:form = presentparticiple,
- :subcat = [Obj,Subj],
- Subj:cat = np,
- Obj:cat = np,
- :head:trans:pred = storm,
- :head:trans:arg1 = Subj:head:trans,
- :head:trans:arg2 = Obj:head:trans.
-
- word "storm" #
- :cat = v,
- :head:form = nonfinite,
- :subcat = [Obj,Subj],
- Subj:cat = np,
- Obj:cat = np,
- :head:trans:pred = storm,
- :head:trans:arg1 = Subj:head:trans,
- :head:trans:arg2 = Obj:head:trans.
-
- word "has" #
- :cat = v,
- :head:form = finite,
- :subcat = [Comp,Subj],
- Subj:cat = np,
- Subj:head:agreement:person = third,
- Subj:head:agreement:number = singular,
- Comp:cat = vp,
- Comp:head:form = presentparticiple,
- Comp:subcat = [Subj],
- :head:trans:pred = perfective,
- :head:trans:arg1 = Comp:head:trans.
-
- word "have" #
- :cat = v,
- :head:form = finite,
- :subcat = [Comp,Subj],
- Subj:cat = np,
- Subj:head:agreement:number = plural,
- Comp:cat = vp,
- Comp:head:form = presentparticiple,
- Comp:subcat = [Subj],
- :head:trans:pred = perfective,
- :head:trans:arg1 = Comp:head:trans.
-
- word "persuades" #
- :cat = v,
- :head:form = finite,
- :subcat = [Obj,Comp,Subj],
- Subj:cat = np,
- Subj:head:agreement:person = third,
- Subj:head:agreement:number = singular,
- Obj:cat = np,
- Comp:cat = vp,
- Comp:head:form = infinitival,
- Comp:subcat = [Obj],
- :head:trans:pred = persuade,
- :head:trans:arg1 = Subj:head:trans,
- :head:trans:arg2 = Obj:head:trans,
- :head:trans:arg3 = Comp:head:trans.
-
- word "to" #
- :cat = v,
- :head:form = infinitival,
- :subcat = [Comp,Subj],
- Subj:cat = np,
- Comp:cat = vp,
- Comp:head:form = nonfinite,
- Comp:subcat = [Subj],
- :head:trans = Comp:head:trans.
-